HARRIER ATTACK RELOADED
-----------------------

A game created by Chris PERVER (CP Soft) / 2024

Harrier Attack, by Durell Software Ltd, published by Amsoft, is an iconic game that is instantly recognizable as it came bundled with the machine. I remember spending many hours playing it with my dad when we got our first Amstrad, a CPC 464, back in 1987. I flew the plane and my dad pressed the space bar to bomb the targets. Many people have fond memories of growing up, playing this game.

Some are under the impression that Harrier Attack was written in the BASIC programming language. They may think this due to its slow speed, blocky movements and 8x8 character-sized sprites. But it is written in machine code. Its slow speed is due to the entire screen being scrolled one byte at a time. There are also program loops inserted by the programmer to deliberately slow the game down, presumably to make it easier for children to 'win' on the earlier levels.

As Harrier Attack is a fairly simple game, I wanted to see if I could disassemble it, to try to speed it up. The result is Harrier Attack Reloaded!


Controls
--------
J1 RIGHT = Go faster
J1 LEFT = Go slower
J1 UP = Take off & up
J1 DOWN = Down 
J1B1 = Fire rocket
J1B2 = Bomb drop
Pause button = Ejector seat

You can also redefine keys to choose your own control configuration on the joypad.


New features
------------
  - Title screen
  - CRTC scrolling
  - Hardware sprites
  - Extended colour palette
  - Day/night colour cycling
  - New sound effects
  - Configuration menu system
  - Full controls on joypad + pause button


About GX4000 Controls
---------------------
As I was creating a cartridge version for the Plus machines, it would be nice to be able to support the GX4000, which has no
keyboard. Although Harrier Attack could be controlled by Joystick, you still needed to use the keys to drop bombs and the escape key to eject. A keyboard was also necessary to control the menu to start the game and enter your name into the highscore table. 

I amended the highscore table so the player is able to press the up and down directions on the joystick to select a letter. Fire enters the letter in the scoreboard, the left direction deletes the last letter, and pressing fire when no letter has been selected completes the process. There is also a problem with the limitation of a two button joypad. As there are missiles and bombs to fire, there are no more buttons to press for controlling the ejector seat. Some suggested using the pause button as an ejector button. I decided to create a function so the player could choose what keys they wanted to use. Harrier Attack’s original keys were really awkward to use, so it is handy being able to choose keys that are familiar to you.


Instructions
------------
Score
Enemy building            350
Enemy aircraft            750
Land-based weapons        100
Guided Missile             10
Patrol Boat               500
Safe landing             2000
Last second eject        1000

Skill level 1: Short mission, relatively large amount of fuel, low chance of damage by enemy flak.

Skill level 2-5: Progressively longer sorties over the island, more fuel and ammunition, greater chance of damage from enemy flak.

Fuel and speed: Watch your airspeed indicator (the bar-gauge at the bottom centre of your screen). As the skill level increases it is necessary to maintain higher average speeds, as you will be carrying a greater load of ammunition and your fuel surplus has to be used up to reduce your overall weight. As a rough guide half to three-quarters maximum speed should be enough to get you safely back to the carrier.

Fuel and ammunition indicators: These record your use of fuel and weapons as you progress over the island. They will flash when at a low level, and then turn red when empty. Note that your bombs may be destroyed by the enemy flak while still in the air.
